Non-volatile memory (NVM) allows an electronic device to retain information when power is removed from the device. The most common examples of NVM are: magnetic storage devices, such as hard disc drives which store data in the form of different patterns of magnetization; hard-wired read-only memory (ROM), such as circuit configurations that store information based on their physical configuration; and one time programmable (OTP) memory, which stores information in the form of an altered physical characteristic of a memory cell. OTP memory is sometimes considered a subset of ROM in that once it is programmed, it can only be read, and cannot be rewritten. OTP memories can include fuse or antifuse memory cells.
Fuse and antifuse OTP memory cells are distinguishable in terms of how the physical state of the memory cell changes when the cell is programmed. Fuse memory initially presents a low resistance path and is programmed by permanently breaking that low resistance path. An example of a fuse memory is a thin strip of metallization between two circuit nodes that is programmed by exposing the strip to a laser that severs the conductive path between those two nodes. Antifuse memory cells start with a high resistance state between two circuit nodes, and are programmed by permanently creating a low resistance circuit branch between the nodes. An example of an antifuse memory cell is a capacitor between two circuit nodes that can be blown through the application of a programming voltage.
Memory array 100 in FIG. 1 illustrates a set of OTP memory cells 101. Each memory cell 101 includes a capacitor 102 and a diode 103. Memory array 100 includes three word lines: WL1, WL2, and WL3. The word lines are connected to a number of capacitor plates set by the number of word lines. Since memory array 100 includes three bit lines: BL1, BL2, and BL3, each word line is connected to three capacitor plates. Capacitor 102 is the antifuse element of memory cell 101. Conductive path 104 represents a capacitor that has been programmed by blowing the associated capacitor. Since the memory cells link a bit line and a word line in the memory, each cell can be described as being located at a cross point of the memory array. Programming is conducted by altering the voltages on a word line and a bit line to break the capacitor of the memory cell that links that particular word line and bit line. Diode 103 is necessary for isolating inactive word lines when a memory cell on a different word line is read. Note that although memory array 100 is illustrated as having multiple word lines and multiple bit lines, a memory array may only have a single word line.
OTP memories can be used to program in any kind of information that distinguishes a single electronic device from other similar devices. For example, OTP memories are used to program electronic devices with information regarding the particular device such as a lot number or serial number of the device. OTP memories can also be used to enter codes into trimming circuits that counteract manufacturing variations that may have been introduced to a particular device.